iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 24
0
Modern Web

PHP laravel的邂逅系列 第 24

DAY24-laravel post application PART 1

  • 分享至 

  • xImage
  •  
public function create(){
    return '新增一筆資料';
}

網址打上:http://127.0.0.1:8000/news/create ,看看有沒有正常執行

public function show($id){
    return '最新消息'.$id;
}

網址打上:http://127.0.0.1:8000/news/1 ,就可以看到上面的字串跟傳進去的id

edit、update、destroy、show,這幾個Function都是傳參數進去,可以修改特定的某筆資料。

controller單個行為寫法

如果你的controller只處理單個行為的話,就可以使用__invoke的方法,而在route裡面也只要寫上controller的名字就可以抓到controller的資料。

//web.php
Route::get('user/{id}', 'ShowProfile');
//controller
<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;

class ShowProfile extends Controller
{
    /**
     * 展示给定用户的信息。
     *
     * @param  int  $id
     * @return Response
     */
    public function __invoke($id)
    {
        return view('user.profile', ['user' => User::findOrFail($id)]);
    }
}


controller middleware用法

可以在route的後面加上middleware字樣和名稱即可使用

Route::get('profile', 'UserController@show')->middleware('auth');

也可以在controller中加入middleware使用

class UserController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');

        $this->middleware('log')->only('index');

        $this->middleware('subscribed')->except('store');
    }
}

或是直接在midddleware裡面加入閉包寫middleware,如果你的middleware程式碼很少的話就可以使用這個方法,就不用在特別新增一個middleware了。

$this->middleware(function ($request, $next) {
    // ...
    return $next($request);
});

``` post application PART 1 

上一篇
DAY23-laravel Middleware 介紹
下一篇
DAY25-laravel 模板 PART 2
系列文
PHP laravel的邂逅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
陳董 Don
iT邦新手 5 級 ‧ 2017-12-27 21:31:03

堅持就是勝利!!!!

我要留言

立即登入留言